#ifndef _STORAGE_HPP
#define _STORAGE_HPP

#include "main.hpp"
#include <curlpp/cURLpp.hpp>
#include <curlpp/Easy.hpp>
#include <curlpp/Options.hpp>

#include <vector>
#include <map>

using namespace Gtk;
using namespace Glib;
using namespace sigc;
using namespace std;
using namespace Gnome;

struct PassInfo{
    string Name;
    string Url;
    string User;
    string Pass;
    string Notes;
};

class Password{
    public:
        PassInfo GetInfo();
        void SetInfo(PassInfo);
    private:
        PassInfo info;
};

class PasswordManagerClass{
    public:
        Password GetByUrl(string Url);
        vector<Password> GetAll();
        void Save(Password pass);
        void Refresh();
    private:
        map<string, Password> passwords;
};

#endif
